Jordi Mas [Sat, 4 Jul 2020 08:00:25 +0000 (10:00 +0200)]
Fixes typos
Jordi Mas [Sat, 4 Jul 2020 07:58:03 +0000 (09:58 +0200)]
Update Catalan translation
Matthias Clasen [Fri, 3 Jul 2020 16:10:03 +0000 (16:10 +0000)]
Merge branch 'selection-filter-fixes' into 'master'
Selection filter fixes
See merge request GNOME/gtk!2186
Matthias Clasen [Fri, 3 Jul 2020 13:54:32 +0000 (09:54 -0400)]
testsuite: Add selection filter model tests
Verify that the selection filter changes mirror
the selection changes of the underlying model,
as expected. These tests verify the fixes in
the previous commit.
Matthias Clasen [Fri, 3 Jul 2020 13:53:27 +0000 (09:53 -0400)]
selectionfilter: Fix bugs in signal translation
When the position is 0, we can't check for unchanged
elements below with gtk_bitset_size_in_range. And
we don't need to, either.
And be careful when translating [start,length]
intervals to [first,last] ones. Off-by-one errors
lurk everywhere.
Boyuan Yang [Fri, 3 Jul 2020 12:49:24 +0000 (12:49 +0000)]
Update Chinese (China) translation
Matthias Clasen [Fri, 3 Jul 2020 05:51:29 +0000 (05:51 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
inspector: Fix the monitor list width
Closes #2909
See merge request GNOME/gtk!2185
Matthias Clasen [Fri, 3 Jul 2020 05:07:13 +0000 (01:07 -0400)]
inspector: Fix the monitor list width
Fixes #2909
Matthias Clasen [Fri, 3 Jul 2020 05:05:24 +0000 (05:05 +0000)]
Merge branch 'wip/exalm/show-title-buttons' into 'master'
headerbar: Show title buttons by default
See merge request GNOME/gtk!2175
Matthias Clasen [Fri, 3 Jul 2020 04:15:12 +0000 (04:15 +0000)]
Merge branch 'selection-filter' into 'master'
Selection filter
See merge request GNOME/gtk!2184
Matthias Clasen [Fri, 3 Jul 2020 02:30:44 +0000 (22:30 -0400)]
gtk-demo: Track the selection
Use GtkSelectionFilterModel to track and display the
selection. Add some other selection information for
good measure.
Matthias Clasen [Thu, 2 Jul 2020 22:50:08 +0000 (18:50 -0400)]
Add a selection filter model
This model presents the selection of a GtkSelectionModel
as its own list model.
Matthias Clasen [Fri, 3 Jul 2020 02:49:27 +0000 (22:49 -0400)]
filterlistmodel: Make model not construct-only
This property wasn't meant to be construct-only.
Benjamin Otte [Mon, 29 Jun 2020 17:04:07 +0000 (19:04 +0200)]
bitset: Add APIs needed for a filterlistmodel
Alexander Mikhaylenko [Mon, 25 May 2020 15:14:58 +0000 (20:14 +0500)]
headerbar: Show title buttons by default
Most of the time show-title-buttons is set to TRUE. Go ahead and make that
the default.
Matthias Clasen [Wed, 1 Jul 2020 01:36:47 +0000 (01:36 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Add gtk_multi_selection_get_model
See merge request GNOME/gtk!2179
Matthias Clasen [Wed, 1 Jul 2020 01:35:56 +0000 (01:35 +0000)]
Merge branch 'wip/baedert/for-master' into 'master'
Wip/baedert/for master
See merge request GNOME/gtk!2162
Benjamin Otte [Wed, 1 Jul 2020 01:19:12 +0000 (01:19 +0000)]
Merge branch 'wip/chergert/gtk4-remove-textlayout-vtable' into 'master'
textlayout: remove virtual table indirection
See merge request GNOME/gtk!2178
Matthias Clasen [Tue, 30 Jun 2020 23:44:17 +0000 (19:44 -0400)]
Add gtk_multi_selection_get_model
This getter was missing.
Christian Hergert [Wed, 1 Jul 2020 00:38:31 +0000 (17:38 -0700)]
textlayout: remove virtual table indirection
GtkTextLayout is private now and therefore we can drop all of
the indirection through the class vtable. Instead, just call the
implementations directly and remove the unused vtable entries
for default signal handlers.
Matthias Clasen [Tue, 30 Jun 2020 22:52:18 +0000 (22:52 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Drop unnecessary uses of gtk_style_context_add_class
See merge request GNOME/gtk!2177
Matthias Clasen [Tue, 30 Jun 2020 22:17:29 +0000 (22:17 +0000)]
Merge branch 'inspector-list-model' into 'master'
Inspector list model support
See merge request GNOME/gtk!2176
Matthias Clasen [Tue, 30 Jun 2020 21:39:37 +0000 (17:39 -0400)]
Drop unnecessary uses of gtk_style_context_add_class
We can use gtk_widget_add_css_class instead, most places.
Matthias Clasen [Tue, 30 Jun 2020 21:10:05 +0000 (17:10 -0400)]
inspector: Avoid a use of gtk_style_context_add_class
We have gtk_widget_add_css_class for this now.
Matthias Clasen [Tue, 30 Jun 2020 18:50:01 +0000 (14:50 -0400)]
inspector: proper list model support
Add a data tab for list models that allows exploring
the objects in the model.
Matthias Clasen [Tue, 30 Jun 2020 19:21:45 +0000 (19:21 +0000)]
Merge branch 'wip/on-the-surface-good-fences-can-make-bad-neighbors' into 'master'
x11: Handle window getting unmap while frame still pending
Closes #2902
See merge request GNOME/gtk!2168
Matthias Clasen [Tue, 30 Jun 2020 19:17:14 +0000 (15:17 -0400)]
inspector: Rename DataList -> TreeData
Rename the DataList object to TreeData, in preparation
for adding a ListData object for list models. While
we are touching it, modernize it a bit (drop the Private
struct, use a layout manager, etc).
Ray Strode [Tue, 30 Jun 2020 18:15:53 +0000 (14:15 -0400)]
x11: Avoid thawing surface until frame is drawn
Since commit
972134abe48a4c9c7b6ad41b0723f30f4e7ae16b a frame getting
drawn has three states (with the vendor nvidia driver at least):
1. drawn by gtk waiting on the GPU
2. drawn by GPU waiting on the compositor
3. drawn by compositor
Those three states are encoded in two flags: frame_pending and
frame_still_painting.
frame_pending means step 1 is done, but step 2 and 3 are still
in progress. frame_still_painting means step 2 is still in progress.
After step 1 is finished the surface is frozen until step 3 is finished.
When the compositor notifies gtk it's done with step 3, with a
_NET_WM_FRAME_DRAWN client message, the toolkit thaws the surface to
allow the next frame to proceed.
The compositor sometimes sends gtk a _NET_WM_FRAME_DRAWN client message
between steps 1 and 2. This message should be ignored because it's not
a reply to the current frame.
Unfortunately, gtk currently assumes if it gets a _NET_WM_FRAME_DRAWN
client message while waiting for step 2 that it's actually at step 3,
and proceeds to draw a new frame while the existing frame is still
pending, leading to a blown assertion.
This commit addresses the problem by ignoring _NET_WM_FRAME_DRAWN
client messages from the compositor unless actually expecting one.
Fixes: #2902
Ray Strode [Mon, 29 Jun 2020 14:21:58 +0000 (10:21 -0400)]
x11: Handle window getting unmapped while frame still pending
Since commit
972134abe48a4c9c7b6ad41b0723f30f4e7ae16b we now call
glClientWaitSync for the vendor nvidia driver, to know when a frame
is ready for the compositor to process.
If a surface is hidden while a frame is still being rendered by the GPU,
the surface will never produce the damage event the code relies on to
trigger the call to glClientWaitSync. This leaves the fence dangling,
and the next time the surface is shown, it will start a fresh frame
and blow an assertion since the fence from the last frame is still
hanging around.
This commit ensures a frame gets fully wrapped up before hiding a
surface.
Matthias Clasen [Tue, 30 Jun 2020 18:22:01 +0000 (14:22 -0400)]
inspector: Remove list model support from the property editor
This makes the inspector lock up when used with any production
size list model, and blocks access to properties of the model
itself. Instead, we'll make the model available as an object
and add a data tab for list model contents, like we already
do for tree models.
Matthias Clasen [Tue, 30 Jun 2020 12:03:06 +0000 (12:03 +0000)]
Merge branch 'issue-2904' into 'master'
Add nullable annotations for gtk_cclosure_expression_new()
Closes #2904
See merge request GNOME/gtk!2172
Emmanuele Bassi [Tue, 30 Jun 2020 11:11:21 +0000 (12:11 +0100)]
Add nullable annotations for gtk_cclosure_expression_new()
Fixes: #2904
Matthias Clasen [Tue, 30 Jun 2020 02:08:51 +0000 (22:08 -0400)]
gtklistitemfactory: Cosmetic documentation fixes
Matthias Clasen [Tue, 30 Jun 2020 02:08:21 +0000 (22:08 -0400)]
builderlistitemfactory: Documentation fixes
Matthias Clasen [Mon, 29 Jun 2020 22:17:00 +0000 (18:17 -0400)]
expression: Add to the docs
Add some more long-form explanation of what expressions
are about and where they are used.
Matthias Clasen [Mon, 29 Jun 2020 20:36:46 +0000 (16:36 -0400)]
Drop GtkFunctionsListItemFactory
It has been superseded by GtkSignalsListItemFactory.
Matthias Clasen [Mon, 29 Jun 2020 20:37:14 +0000 (16:37 -0400)]
Stop using GtkFunctionsListItemFactory
This was an early attempt at a factory, and has been
superseded by GtkSignalsListItemFactory. Port all users
the the newer one.
Carlos Garnacho [Mon, 29 Jun 2020 22:24:32 +0000 (22:24 +0000)]
Merge branch 'wip/Jehan/GtkIMContextWayland-master' into 'master'
gtk: focus out the GtkIMContextWayland upon finalization.
See merge request GNOME/gtk!2170
Jehan [Mon, 29 Jun 2020 20:12:53 +0000 (22:12 +0200)]
gtk: focus out the GtkIMContextWayland upon finalization.
In particular, it will NULL-ified the current global context if this is
the finalized one, avoiding dangling invalid pointers.
Would have been a cherry-pick from branch gtk-3-24 of commit
b592ded80ad4825d115317ba6750a086da0434c0, but files moved.
Daniel Mustieles [Mon, 29 Jun 2020 14:03:40 +0000 (16:03 +0200)]
Updated Spanish translation
Emmanuele Bassi [Mon, 29 Jun 2020 13:45:03 +0000 (13:45 +0000)]
Merge branch 'ci-style' into 'master'
ci: Create new origin for forks
See merge request GNOME/gtk!2164
Matthias Clasen [Mon, 29 Jun 2020 12:30:41 +0000 (12:30 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #1887
See merge request GNOME/gtk!2167
Emmanuele Bassi [Sun, 28 Jun 2020 13:01:19 +0000 (14:01 +0100)]
ci: Create new origin for forks
We don't need to create a new remote and fetch its master if we're
checking a merge request done on the upstream repository.
Matthias Clasen [Mon, 29 Jun 2020 03:47:26 +0000 (23:47 -0400)]
node-editor: Add a help window
Add a Help item to the gear menu that opens the
node-format.md file in a new window. This could
be improved if we could parse markdown and apply
tags, similar to how we can load pango markup.
Matthias Clasen [Mon, 29 Jun 2020 03:44:12 +0000 (23:44 -0400)]
node-editor: Cosmetics
Use a title style class for the labels.
Matthias Clasen [Mon, 29 Jun 2020 03:43:13 +0000 (23:43 -0400)]
node-editor: Add a gear menu
Add a gear menu with Inspector and About menu items.
Matthias Clasen [Mon, 29 Jun 2020 03:38:22 +0000 (23:38 -0400)]
node-editor: Document the node format
Add a markdown file with the documentation of the
node format.
Fixes: #1887
Matthias Clasen [Mon, 29 Jun 2020 03:36:35 +0000 (23:36 -0400)]
gtk-demo: Fix binary name in --version
We are gtk4-demo, not gtk3-demo.
Matthias Clasen [Mon, 29 Jun 2020 02:37:29 +0000 (22:37 -0400)]
bitset: Fix documentation syntax
Matthias Clasen [Mon, 29 Jun 2020 01:39:02 +0000 (21:39 -0400)]
bitset: Add more tests
Add some tests for rectangles, and for iters.
Matthias Clasen [Mon, 29 Jun 2020 01:28:47 +0000 (21:28 -0400)]
bitset: Correct preconditions in gtk_bitset_add_rectangle
We want to make sure that the rectangle fits in the grid.
Matthias Clasen [Sun, 28 Jun 2020 23:47:09 +0000 (23:47 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
Closes #2743
See merge request GNOME/gtk!2161
Matthias Clasen [Sun, 28 Jun 2020 22:59:48 +0000 (18:59 -0400)]
ci: Drop one of the focus tests
One of the widget-factory focus tests is flaky in ci,
perhaps due to font changes causing size computations
to go slightly differently.
Drop this for now.
Matthias Clasen [Sun, 28 Jun 2020 21:02:01 +0000 (17:02 -0400)]
testsuite: Bump the per-test timeout to 60s
The bitset test has repeatedly run into the 30s timeout
in the ci, so give it some more time.
Matthias Clasen [Sun, 28 Jun 2020 20:36:03 +0000 (16:36 -0400)]
bitset: Fix the right-shift implementation
This was not doing the right thing at all.
This commit also adds tests for left- and
right-shift.
Matthias Clasen [Sun, 28 Jun 2020 17:08:44 +0000 (13:08 -0400)]
Stop setting GTK_IM_MODULE_FILE
GTK no longer reads this environment variable, so
setting it can have no benefit for uninstalled demos
anymore.
Matthias Clasen [Sun, 28 Jun 2020 15:58:25 +0000 (11:58 -0400)]
Add g_intern_static_string to valgrind suppressions
That function can also trigger a quark table reallocation.
Matthias Clasen [Sun, 28 Jun 2020 15:24:09 +0000 (11:24 -0400)]
widget: Avoid uninitialized access
Initialize all field in the GtkCrossingData struct
when synthesizing crossing events.
Fixes: #2743
Matthias Clasen [Sun, 28 Jun 2020 03:11:07 +0000 (23:11 -0400)]
gtk: Better help for GTK_DEBUG
Reuse the newly introduced gdk_parse_debug_var for
GTK_DEBUG.
Matthias Clasen [Sun, 28 Jun 2020 03:09:55 +0000 (23:09 -0400)]
gsk: Better help for GSK_DEBUG
Reuse the newly introduced gdk_parse_debug_var for
GSK_DEBUG.
Matthias Clasen [Sun, 28 Jun 2020 03:09:07 +0000 (23:09 -0400)]
gdk: Better help for GDK_DEBUG
Include docstrings and format the list of supported
values better.
Also, add the same warning we have for GTK_DEBUG when
the environment variable is ignored.
Matthias Clasen [Sun, 28 Jun 2020 15:13:59 +0000 (11:13 -0400)]
testsuite: Don't pass GDK_DEBUG for release builds
The debug env vars are ignored in release builds,
and may spew warnings about that fact that break
tests.
Matthias Clasen [Sun, 28 Jun 2020 15:13:07 +0000 (11:13 -0400)]
wayland: Respect GDK_DEBUG=default-settings
You can get this in other ways for Wayland (by
setting GSETTINGS_BACKEND=memory), but it is better
to be consistent across backends.
Matthias Clasen [Sun, 28 Jun 2020 03:19:12 +0000 (23:19 -0400)]
Drop GTK_DEBUG_SHORTCUTS
It is unused.
Matthias Clasen [Sun, 28 Jun 2020 03:14:29 +0000 (23:14 -0400)]
shortcuts: Use GTK_DEBUG_KEYBINDINGS
There was just a single message under GTK_DEBUG_SHORTCUTS.
Consolidate with GTK_DEBUG_KEYBINDINGS.
Matthias Clasen [Sun, 28 Jun 2020 17:41:15 +0000 (13:41 -0400)]
docs: Update environment sections
Fix links in markdown, and add details about
Wayland environment variables.
Matthias Clasen [Sun, 28 Jun 2020 16:44:32 +0000 (16:44 +0000)]
Merge branch 'print-editor' into 'master'
Install the print editor
See merge request GNOME/gtk!2165
Matthias Clasen [Sun, 28 Jun 2020 16:41:57 +0000 (12:41 -0400)]
stringlist: Cosmetic documentation fix
Matthias Clasen [Sun, 28 Jun 2020 16:40:41 +0000 (12:40 -0400)]
gtk: Add some missing symbols to the docs
Matthias Clasen [Sun, 28 Jun 2020 16:39:48 +0000 (12:39 -0400)]
sorter: Some doc corrections
The docs were referring to some non-existing enum value.
Fix things up to match the current code.
Matthias Clasen [Sun, 28 Jun 2020 16:33:49 +0000 (12:33 -0400)]
stack: Remove nonexisting api from headers
The homogeneous property was dropped a while ago.
Matthias Clasen [Sun, 28 Jun 2020 16:23:08 +0000 (12:23 -0400)]
gdk: Small documentation fixes
Make sure gdk_event_get_seat shows up.
Matthias Clasen [Sun, 28 Jun 2020 12:06:17 +0000 (08:06 -0400)]
stack: Cosmetic documentation fixes
Fix parameter mismatches.
Matthias Clasen [Sun, 28 Jun 2020 01:53:57 +0000 (21:53 -0400)]
bitset: Cosmetic documentation changes
Matthias Clasen [Sun, 28 Jun 2020 14:12:45 +0000 (10:12 -0400)]
printeditor: Add desktop file and appdata
All our installed demos have this.
Matthias Clasen [Sun, 28 Jun 2020 14:26:19 +0000 (10:26 -0400)]
print-editor: Allow opening files
Since it calls itself an editor, it should really
support opening files on the commandline.
Matthias Clasen [Sun, 28 Jun 2020 12:33:17 +0000 (08:33 -0400)]
printeditor: Cosmetics
Bring this up to our standards for an installable demo,
by touching up the about dialog and menus.
Emmanuele Bassi [Sun, 28 Jun 2020 13:28:52 +0000 (13:28 +0000)]
Merge branch 'issue-2900' into 'master'
Nullable this_ argument in gtk_expression_bind()
Closes #2900
See merge request GNOME/gtk!2163
Emmanuele Bassi [Sun, 28 Jun 2020 12:40:11 +0000 (13:40 +0100)]
Add pre-condition check on nullable argument
Even if `gtk_expression_watch()` will do the same, we're calling public
API, so we should perform a check at the point of use, to ensure that
warnings are easily debuggable.
Emmanuele Bassi [Sun, 28 Jun 2020 12:39:17 +0000 (13:39 +0100)]
Annotate nullable argument
The `this_` argument is passed to `gtk_expression_watch()`, which
accepts it as nullable.
Fixes: #2900
Matthias Clasen [Sun, 28 Jun 2020 01:46:22 +0000 (21:46 -0400)]
docs: Remove ancient version information
We treat 4.0 as a new era.
Matthias Clasen [Sun, 28 Jun 2020 01:37:28 +0000 (21:37 -0400)]
multiselection: Update docs
Remove information that is no longer true. GtkMultiSelection
is persistent across sorting changes since
3d8b6f6b799499cca02.
Matthias Clasen [Sat, 27 Jun 2020 22:19:27 +0000 (22:19 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2160
Matthias Clasen [Sat, 27 Jun 2020 21:31:22 +0000 (17:31 -0400)]
docs: Migration guide additions
Matthias Clasen [Sat, 27 Jun 2020 21:28:15 +0000 (17:28 -0400)]
builder: Documentation tweaks
Don't use no-longer-existing enums as examples,
and drop the +.
Matthias Clasen [Sat, 27 Jun 2020 19:43:18 +0000 (19:43 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!2159
Baurzhan Muftakhidinov [Sat, 27 Jun 2020 19:11:12 +0000 (19:11 +0000)]
Update Kazakh translation
Baurzhan Muftakhidinov [Sat, 27 Jun 2020 18:52:16 +0000 (18:52 +0000)]
Update Kazakh translation
Matthias Clasen [Sat, 27 Jun 2020 13:47:29 +0000 (09:47 -0400)]
gtk-demo: Drop an unused object
The main ui file was still creating a tree store,
but we've switched everything over to use list models.
Matthias Clasen [Sat, 27 Jun 2020 13:36:45 +0000 (09:36 -0400)]
builder: Warn about dropped objects
Use GTK_DEBUG=builder-objects to make GtkBuilder warn
if a named object from a ui files doesn't get claimed
by gtk_builder_get_object(). This is useful for finding
dead wood in .ui files.
Timm Bäder [Sat, 27 Jun 2020 09:38:45 +0000 (11:38 +0200)]
widget: Don't get the frame clock if we don't use it
Timm Bäder [Sat, 27 Jun 2020 09:38:25 +0000 (11:38 +0200)]
label: Only care about clipboard in unrealize of we need to
Timm Bäder [Sat, 27 Jun 2020 09:30:02 +0000 (11:30 +0200)]
recorder: Don't select new row when adding recording
This is what makes the recorder slow. We might want to scroll down in
the list though.
Timm Bäder [Sat, 27 Jun 2020 09:22:54 +0000 (11:22 +0200)]
rendernode: Trivial whitespace change
Timm Bäder [Sat, 27 Jun 2020 09:15:51 +0000 (11:15 +0200)]
recorder: Remove frame time from recording rows
We should bring this back in a different way, e.g. in a way that doesn't
just use the time of the previous recording.
Timm Bäder [Sat, 27 Jun 2020 09:08:09 +0000 (11:08 +0200)]
recorder: Remove Full/Partial render distinction
It doesn't exist anymore these days
Timm Bäder [Sat, 27 Jun 2020 09:04:03 +0000 (11:04 +0200)]
recorder: s/gint/int/g
Timm Bäder [Sat, 27 Jun 2020 09:01:28 +0000 (11:01 +0200)]
recorder: Remove some debug spew
Stop printing the number of nodes we have
Timm Bäder [Fri, 26 Jun 2020 06:00:04 +0000 (08:00 +0200)]
scale: Rearrange child widgets
Always keep the order:
- [value]
- [marks.top]
- [marks.bottom]
- trough
Which makes sense given the rendering order. Slider should be drawn
after the marks.
Makes it possible to simply remove the custom snapshot implementations
in scale and range. And Adwaita does not depend on the node order
anyway.
Timm Bäder [Fri, 26 Jun 2020 04:39:49 +0000 (06:39 +0200)]
textview: Remove unused define